package cn.jsj.invite.aop;

import cn.jsj.invite.aop.aspect.StringParamHandler;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Constraint(validatedBy = {StringParamHandler.class})
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.PARAMETER})
public @interface StringParam {


    String message() default "您输入了无效的文本内容";

    // 约束注解在验证时所属的组别
    Class<?>[] groups() default {};

    // 约束注解的有效负载
    Class<? extends Payload>[] payload() default {};

    /**
     * 字符串最大长度
     */
    int maxLength() default Integer.MAX_VALUE;


    /**
     * 字符串最小长度
     */
    int minLength() default 1;


    /**
     * 是否允许包含空格
     */
    boolean allowSpace() default true;


    /**
     * 是否允许为null
     */
    boolean allowNull() default false;

}
